User interaction with client devices can be modeled as a series of activities, that when combined, allow a user to perform a task. Often, these tasks include the use of multiple applications on the client device. For instance, a task that involves streaming an online video may include the activities of using the client device's web browser to find a link to the online video, accessing the link to launch the client device's video player, and playing out the online video via the video player.